1 <?php
2 session_start();
// Use session variable on this page. This function must put on the top of page.
3 if
(!isset($_SESSION['username']) || $_SESSION['usertype'] !='admin'){ // if session variable "username" does not exist.
4 header(
"location:index.php?msg=Please%20login%20to%20access%20admin%20area%20!"); // Re-direct to index.php
5 }

6 else

7 {
8     include_once
"db.php";
9     error_reporting (E_ALL ^ E_NOTICE);
10
11 ?><!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN"
12 "http:
//www.w3.org/TR/html4/loose.dtd">
13 <html>
14 <head>
15 <title>Welcome to Stock Management System !</title>
16 <meta http-equiv=
"Content-Type" content="text/html; charset=iso-8859-1">
17 <link rel=
"stylesheet" href="css/validationEngine.jquery.css" type="text/css" media="screen" title="no title" charset="utf-8" />
18         <link rel=
"stylesheet" href="css/template.css" type="text/css" media="screen" title="no title" charset="utf-8" />
19         <script src=
"js/jquery.min.js" type="text/javascript"></script>
20         <script type=
"text/javascript" src="jquery.date_input.js"></script>
21 <link rel=
"stylesheet" href="date_input.css" type="text/css">
22 <script type=
"text/javascript">$(function() {
23   $(
"#datefield").date_input();
24 });</script>
25
26         <script type=
'text/javascript' src='lib/jquery.bgiframe.min.js'></script>
27 <script type=
'text/javascript' src='lib/jquery.ajaxQueue.js'></script>
28 <script type=
'text/javascript' src='lib/thickbox-compressed.js'></script>
29 <script type=
'text/javascript' src='jquery.autocomplete.js'></script>
30
31 <script type=
'text/javascript' src='localdata.js'></script>
32
33 <link rel=
"stylesheet" type="text/css" href="jquery.autocomplete.css" />
34 <link rel=
"stylesheet" type="text/css" href="lib/thickbox.css" />
35     
36 <script type=
"text/javascript">
37 $().ready(function() {
38
39     function log(
event, data, formatted) {
40         $(
"<li>").html( !data ? "No match!" : "Selected: " + formatted).appendTo("#result");
41     }
42     
43     function formatItem(row) {
44         
return row[0] + " (<strong>id: " + row[1] + "</strong>)";
45     }
46     function formatResult(row) {
47         
return row[0].replace(/(<.+?>)/gi, '');
48     }
49     
50
51
52     $(
"#singleBirdRemote").autocomplete("stock.php", {
53         width:
160,
54         autoFill:
true,
55         mustMatch:
true,
56         selectFirst:
false
57     });
58     
59     $(
"#customer").autocomplete("customer.php", {
60         width:
160,
61         autoFill:
true,
62         selectFirst:
false
63     });
64     
65
66     $(
"#clear").click(function() {
67         $(
":input").unautocomplete();
68     });
69 });
70
71
72 </script>
73
74         <script src=
"js/jquery.validationEngine-en.js" type="text/javascript"></script>
75         <script src=
"js/jquery.validationEngine.js" type="text/javascript"></script>
76          <script src=
"js/jquery.hotkeys-0.7.9.js"></script>
77         <!-- AJAX SUCCESS TEST FONCTION
78             <script>function callSuccessFunction(){alert(
"success executed")}
79                     function callFailFunction(){alert(
"fail executed")}
80             </script>
81         -->
82         
83         <script>
84         
85         
86         
87         
88         
89         $(document).ready(function() {
90             
// SUCCESS AJAX CALL, replace "success: false," by: success : function() { callSuccessFunction() },
91              $(
"#singleBirdRemote").focus();
92              $(
"#singleBirdRemote").blur(function()
93             {
94             
95                  $.post(
'check_sales_details.php', {stock_name: $(this).val() },
96                 function(data){
97                 
98                                 $(
"#rate").val(data.rate);
99                                 $(
"#availstock").val(data.availstock);
100                                 $(
"#quantity").focus();
101                             },
'json');
102                             
103                             
104                     
105
106             
107             });
108             
109             
110             $(
"#quantity").keyup(function (e) {
111             
112             $(
"#total").val( parseInt( $("#quantity").val()) * parseInt( $("#rate").val() ));
113             
if(parseInt($("#quantity").val()) > parseInt($("#availstock").val()))
114             $(
"#quantity").val(parseInt($("#availstock").val()));
115             
116             });
117             
118             $(
"#rate").keyup(function (e) {
119             
120             $(
"#total").val( parseInt($("#quantity").val()) * parseInt($("#rate").val()) );
121             
if(parseInt($("#quantity").val()) > parseInt($("#availstock").val()))
122             $(
"#quantity").val(parseInt($("#availstock").val()));
123             
124             });
125
126             
127              $(
"#customer").blur(function()
128             {
129             
130                  $.post(
'check_customer_details.php', {stock_name1: $(this).val() },
131                 function(data){
132                 
133                                 $(
"#address").val(data.address);
134                                 $(
"#contact1").val(data.contact1);
135                                 $(
"#contact2").val(data.contact2);
136                                 
137                             },
'json');
138                             
139                             
140                     
141
142             
143             });
144             $(
"#form1").validationEngine(),
145             
146             jQuery(document).bind(
'keydown', 'Ctrl+s',function() {
147           $(
'#form1').submit();
148           
return false;
149             });
150             
151             jQuery(document).bind(
'keydown', 'Ctrl+r',function() {
152           $(
'#form1').reset();
153           
return false;
154             });
155             jQuery(document).bind(
'keydown', 'Ctrl+a',function() {
156             window.location =
"addstock.php";
157           
return false;
158             });
159             jQuery(document).bind(
'keydown', 'Ctrl+0',function() {
160             window.location =
"admin.php";
161           
return false;
162             });
163             jQuery(document).bind(
'keydown', 'Ctrl+1',function() {
164             window.location =
"add_purchase.php";
165               
return false;
166             });
167             jQuery(document).bind(
'keydown', 'Ctrl+2',function() {
168             window.location =
"add_stock_sales.php";
169               
return false;
170             });
171             jQuery(document).bind(
'keydown', 'Ctrl+3',function() {
172             window.location =
"add_stock_details.php";
173               
return false;
174             });
175             jQuery(document).bind(
'keydown', 'Ctrl+4',function() {
176             window.location =
"add_category.php";
177               
return false;
178             });
179             jQuery(document).bind(
'keydown', 'Ctrl+5',function() {
180             window.location =
"add_supplier_details.php";
181               
return false;
182             });
183             jQuery(document).bind(
'keydown', 'Ctrl+6',function() {
184             window.location =
"add_customer_details.php";
185               
return false;
186             });
187             jQuery(document).bind(
'keydown', 'Ctrl+7',function() {
188             window.location =
"view_stock_entries.php";
189               
return false;
190             });
191             jQuery(document).bind(
'keydown', 'Ctrl+8',function() {
192             window.location =
"view_stock_sales.php";
193               
return false;
194             });
195             jQuery(document).bind(
'keydown', 'Ctrl+9',function() {
196             window.location =
"view_stock_details.php";
197               
return false;
198             });
199             
//$.validationEngine.loadValidation("#date")
200             
//alert($("#formID").validationEngine({returnIsValid:true}))
201             
//$.validationEngine.buildPrompt("#date","This is an example","error") // Exterior prompt build example // input prompt close example
202             
//$.validationEngine.closePrompt(".formError",true) // CLOSE ALL OPEN PROMPTS
203         });
204     </script>
205 <style type=
"text/css">
206 <!--
207 body {
208     margin-left: 0px;
209     margin-top: 0px;
210     margin-right: 0px;
211     margin-bottom: 0px;
212     background-color: #FFFFFF;
213 }
214
215 *{
216 padding: 0px;
217 margin: 0px;
218 }
219 #vertmenu {
220 font-family: Verdana, Arial, Helvetica, sans-serif;
221 font-size:
100%;
222 width: 160px;
223 padding: 0px;
224 margin: 0px;
225 }
226
227 #vertmenu h1 {
228 display: block;
229 background-color:#FF9900;
230 font-size:
90%;
231 padding: 3px
0 5px 3px;
232 border: 1px solid #
000000;
233 color: #
333333;
234 margin: 0px;
235 width:159px;
236 }
237
238 #vertmenu ul {
239 list-style: none;
240 margin: 0px;
241 padding: 0px;
242 border: none;
243 }
244 #vertmenu ul li {
245 margin: 0px;
246 padding: 0px;
247 }
248 #vertmenu ul li a {
249 font-size:
80%;
250 display: block;
251 border-bottom: 1px dashed #C39C4E;
252 padding: 5px 0px 2px 4px;
253 text-decoration: none;
254 color: #
666666;
255 width:160px;
256 }
257
258 #vertmenu ul li a:hover, #vertmenu ul li a:focus {
259 color: #
000000;
260 background-color: #eeeeee;
261 }
262 .style1 {color: #
000000}
263 div.pagination {
264
265     padding: 3px;
266
267     margin: 3px;
268
269 }
270
271
272
273 div.pagination a {
274
275     padding: 2px 5px 2px 5px;
276
277     margin: 2px;
278
279     border: 1px solid #AAAADD;
280
281     
282
283     text-decoration: none;
/* no underline */
284
285     color: #
000099;
286
287 }
288
289 div.pagination a:hover, div.pagination a:active {
290
291     border: 1px solid #
000099;
292
293
294
295     color: #
000;
296
297 }
298
299 div.pagination span.current {
300
301     padding: 2px 5px 2px 5px;
302
303     margin: 2px;
304
305         border: 1px solid #
000099;
306
307         
308
309         font-weight: bold;
310
311         background-color: #
000099;
312
313         color: #FFF;
314
315     }
316
317     div.pagination span.disabled {
318
319         padding: 2px 5px 2px 5px;
320
321         margin: 2px;
322
323         border: 1px solid #EEE;
324
325     
326
327         color: #DDD;
328
329     }
330
331     
332 -->
333 </style>
334 </head>
335
336 <body>
337 <table width=
"100%" border="0" cellspacing="0" cellpadding="0">
338   <tr>
339     <td align=
"center" valign="top"><table width="960" border="0" cellspacing="0" cellpadding="0">
340       <tr>
341         <td><table width=
"960" border="0" cellpadding="0" cellspacing="0" bgcolor="#ECECEC">
342           <tr>
343             <td height=
"90" align="left" valign="top"><img src="images/topbanner.jpg" width="960" height="82"></td>
344           </tr>
345           <tr>
346             <td height=
"800" align="left" valign="top"><table width="960" border="0" cellpadding="0" cellspacing="0" bgcolor="#ECECEC">
347               <tr>
348                 <td width=
"130" align="left" valign="top">
349                 
350                 <br>
351
352                 <strong>Welcome <font color=
"#3399FF"><?php echo $_SESSION['username']; ?> !</font></strong><br> <br>
353 <table width=
"100%" border="0" cellspacing="0" cellpadding="0">
354   <tr>
355     <td align=
"center"><a href="admin.php"><img src="images/home.png" width="130" height="99" border="0"></a></td>
356     </tr>
357   <tr>
358     <td align=
"center">&nbsp;</td>
359     </tr>
360   <tr>
361     <td align=
"center"><a href="add_purchase.php"><img src="images/purchase.png" width="130" height="124" border="0"></a></td>
362     </tr>
363   <tr>
364     <td align=
"center">&nbsp;</td>
365     </tr>
366   <tr>
367     <td align=
"center"><a href="add_stock_sales.php"><img src="images/sales.png" width="146" height="111" border="0"></a></td>
368     </tr>
369   <tr>
370     <td align=
"center">&nbsp;</td>
371     </tr>
372   <tr>
373     <td align=
"center"><a href="report.php"><img src="images/reports.png" width="131" height="142" border="0"></a></td>
374     </tr>
375   <tr>
376     <td align=
"center">&nbsp;</td>
377     </tr>
378   <tr>
379     <td align=
"center">&nbsp;</td>
380     </tr>
381   <tr>
382     <td align=
"center">&nbsp;</td>
383     </tr>
384 </table>
385
386
387     
388                 
389                 
390                 </td> <td height=
"500" align="center" valign="top">
391 <table width=
"100%" border="0" cellspacing="0" cellpadding="0">
392   <tr>
393     <td><a href=
"add_stock_details.php"><img src="images/addstockdetails.png" width="67" height="62" border="0"></a></td>
394     <td><a href=
"add_supplier_details.php"><img src="images/supplier.png" width="67" height="54" border="0"></a></td>
395     <td><a href=
"add_customer_details.php"><img src="images/customer.png" width="67" height="54" border="0"></a></td>
396     <td><a href=
"add_category.php"><img src="images/categories.png" width="67" height="54" border="0"></a></td>
397     <td><a href=
"view_stock_sales.php"><img src="images/vsales.png" width="67" height="54" border="0"></a></td>
398     <td><a href=
"view_stock_entries.php"><img src="images/vpurchase.png" width="67" height="54" border="0"></a></td>
399     <td><a href=
"view_stock_details.php"><img src="images/stockdetails.png" width="67" height="54" border="0"></a></td>
400     <td><a href=
"view_stock_availability.php"><img src="images/savail.png" width="67" height="54" border="0"></a></td>
401      <td align=
"left" valign="top"><a href="view_customer_details.php"><img src="images/customers.png" width="94" height="22" border="0"></a><br> <a href="view_supplier_details.php"><img src="images/suppliers.png" width="94" height="22" border="0"></a><br>
402       <a href=
"view_payments.php"><img src="images/payments.png" width="94" height="22" border="0"></a></td>
403     <td align=
"left" valign="top"><a href="view_stock_sales_payments.php"><img src="images/outstanding.png" width="94" height="22" border="0"></a><br> <a href="view_stock_entries_payments.php"><img src="images/pendings.png" width="94" height="22" border="0"></a><br>
404       <a href=
"logout.php"><img src="images/logout.png" width="94" height="22" border="0"></a></td>
405   </tr>
406 </table>
407 <?php
408                 
if(isset($_POST['name1']))
409
410             {
411             
412             $name1=mysql_real_escape_string($_POST[
'name1']);
413             $rate=mysql_real_escape_string($_POST[
'rate1']);
414             $quantity=mysql_real_escape_string($_POST[
'quantity1']);
415             $customer=mysql_real_escape_string($_POST[
'customer1']);
416             $address=mysql_real_escape_string($_POST[
'address1']);
417             $contact1=mysql_real_escape_string($_POST[
'contact1']);
418             $contact2=mysql_real_escape_string($_POST[
'contact2']);
419             $total=mysql_real_escape_string($_POST[
'total']);
420             $username=$_SESSION[
'username'];
421             
422             $count = $db->countOf(
"stock_avail", "name='$name1'");
423             $selected_date=$_POST[
'date'];
424             $selected_date=strtotime( $selected_date );
425             $mysqldate = date(
'Y-m-d H:i:s', $selected_date );
426             $username = $_SESSION[
'username'];
427             
428             
if($count==1)
429             {
430             
431                $max = $db->maxOfAll(
"id", "stock_sales");
432                       $max=$max+
1;
433                       $autoid=
"SA".$max."";
434               
435             $db->query(
"insert into stock_sales (transactionid,stock_name,selling_price,quantity,amount,date,username,customer_id) values(' $autoid','$name1',$rate,$quantity,$total,'$mysqldate','$username','$customer')");
436             echo
"<br><font color=green size=+1 >New Sales Added ! Transaction ID [ $autoid ]</font>" ;
437             
438             
439             $amount = $db->queryUniqueValue(
"SELECT quantity FROM stock_avail WHERE name='$name1'");
440                 $amount1 = $amount - $quantity;
441                 $db->execute(
"UPDATE stock_avail SET quantity=$amount1 WHERE name='$name1'");
442             echo
"<br><font color=green size=+1> Current Stock Availability is [ $amount1 ]</font>" ;
443             $count1 = $db->countOf(
"customer_details", "customer_name='$customer'");
444             
if($count!=1)
445             {
446             
if($db->query("insert into customer_details values(NULL,'$customer','$address','$contact1','$contact2')"))
447             echo
"<br><font color=green size=+1 > [ $name ] Customer Details Updated !</font>" ;
448             }
449             }
450             
else
451             {
452                 echo
"<br><font color=green size=+1 >Stock Not Available!</font>" ;
453             }
454             
455             
456             }
457                 
if(isset($_GET['id']))
458                 {
459                 
460                 $id=$_GET[
'id'];
461                 
462                 
463                 $line = $db->queryUniqueObject(
"SELECT * FROM stock_entries WHERE id=$id");
464                 ?>
465                 
466                 
467                 
468                 <br>
469 <br>
470
471                 
472                 <form name=
"form1" method="post" id="form1" action="">
473                   
474                   <p align=
"center"><strong>Update Sales Entry </strong> - Add New ( Control +A)</p>
475                   <table width=
"600" border="0" cellspacing="0" cellpadding="0">
476                     <tr>
477                       <td width=
"150">&nbsp;</td>
478                       <td width=
"165">&nbsp;</td>
479                       <td width=
"135">&nbsp;</td>
480                       <td width=
"150">&nbsp;</td>
481                     </tr>
482                     <tr>
483                       <td width=
"150">&nbsp;</td>
484                       <td width=
"165">&nbsp;</td>
485                       <td width=
"135">&nbsp;</td>
486                       <td width=
"150">&nbsp;</td>
487                     </tr>
488                     <tr>
489                       <td width=
"150">ID <?php
490                       $max = $db->maxOfAll(
"id","stock_sales");
491                       $max=$max+
1;
492                       $autoid=
"SA".$max."";
493                       ?></td>
494                       <td width=
"165"><input name="id" type="text" id="id" readonly="" value="<?php echo $autoid; ?>"></td>
495                       <td width=
"135">Date</td>
496                      
497                       <td width=
"150"> <input type="text" id="datefield" name="date" class="date_input" value="<?php echo date('d-m-Y');?>"></td>
498                     </tr>
499                     <tr>
500                       <td width=
"150">&nbsp;</td>
501                       <td width=
"165">&nbsp;</td>
502                       <td width=
"135">&nbsp;</td>
503                       <td width=
"150">&nbsp;</td>
504                     </tr>
505                     <tr>
506                       <td width=
"150"><strong>Name</strong></td>
507                       <td width=
"165"><input name="name1" type="text" id="singleBirdRemote" class="validate[required,length[0,100]] text-input"></td>
508                       <td width=
"135">Available Stock </td>
509                       <td width=
"150"><input name="availstock" type="text" id="availstock" readonly="" value=""></td>
510                     </tr>
511                     <tr>
512                       <td width=
"150">&nbsp;</td>
513                       <td width=
"165">&nbsp;</td>
514                       <td width=
"135">&nbsp;</td>
515                       <td width=
"150">&nbsp;</td>
516                     </tr>
517                     <tr>
518                       <td><strong>Quantity</strong></td>
519                       <td><input name=
"quantity1" type="text" id="quantity" class="validate[required,custom[onlyNumber],lengthCheck[6],confirmMatch[quantity]] text-input" ></td>
520                       <td><strong>Rate:</strong></td>
521                       <td><input name=
"rate1" type="text" id="rate" class="validate[required,custom[onlyNumber],lengthCheck[6]] text-input" ></td>
522                     </tr>
523                     <tr>
524                       <td>&nbsp;</td>
525                       <td>&nbsp;</td>
526                       <td>&nbsp;</td>
527                       <td>&nbsp;</td>
528                     </tr>
529                     <tr>
530                       <td><strong>Customer</strong></td>
531                       <td><input name=
"customer1" type="text" id="customer" value="" ></td>
532                       <td>Address</td>
533                       <td><textarea name=
"address1" id="address"></textarea></td>
534                     </tr>
535                     <tr>
536                       <td>&nbsp;</td>
537                       <td>&nbsp;</td>
538                       <td>&nbsp;</td>
539                       <td>&nbsp;</td>
540                     </tr>
541                     <tr>
542                       <td>Contact1</td>
543                       <td><input name=
"contact1" type="text" id="contact1" value="" ></td>
544                       <td>Contact2</td>
545                       <td><input name=
"contact2" type="text" id="contact2" value="" ></td>
546                     </tr>
547                     <tr>
548                       <td>&nbsp;</td>
549                       <td>&nbsp;</td>
550                       <td>&nbsp;</td>
551                       <td>&nbsp;</td>
552                     </tr>
553                     <tr>
554                       <td>&nbsp;</td>
555                       <td>&nbsp;</td>
556                       <td>&nbsp;</td>
557                       <td>&nbsp;</td>
558                     </tr>
559                     <tr>
560                       <td>&nbsp;</td>
561                       <td>&nbsp;</td>
562                       <td><strong>Total:</strong></td>
563                       <td><input name=
"total" type="text" id="total" readonly="" value=""></td>
564                     </tr>
565                     <tr>
566                       <td>&nbsp;</td>
567                       <td>&nbsp;</td>
568                       <td>&nbsp;</td>
569                       <td>&nbsp;</td>
570                     </tr>
571                     <tr>
572                       <td align=
"right">&nbsp;</td>
573                       <td align=
"right"><input type="reset" name="Reset" value="Reset">
574 &nbsp;&nbsp;&nbsp;</td>
575                       <td> &nbsp;&nbsp;&nbsp;
576                           <input type=
"submit" name="Submit" value="Save"></td>
577                       <td>&nbsp;</td>
578                     </tr>
579                     <tr>
580                       <td align=
"center">&nbsp;</td>
581                       <td align=
"center">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Control + R) </td>
582                       <td align=
"left"> &nbsp;&nbsp;( Control + S ) </td>
583                       <td align=
"left">&nbsp;</td>
584                     </tr>
585                   </table>
586                 </form></td>
587               </tr>
588             </table>
589             
590         </td>
591           </tr>
592           <tr>
593             <td height=
"30" align="center" bgcolor="#72C9F4"><span class="style1"><a href="http://www.pluskb.com">Developed by PlusKB Innovations</a></span></td>
594           </tr>
595         </table></td>
596       </tr>
597     </table></td>
598   </tr>
599 </table>
600
601 </body>
602 </html>
603 <?php
604 }
605 ?>


Gõ tìm kiếm nhanh...